package com.executor.gateway.config.properties;

import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * 指标服务配置属性
 * 
 * @author miaoguoxin
 * @date 2024/01/01
 */
@Setter
@Getter
@Component
@ConfigurationProperties(prefix = "gateway.metrics")
public class MetricsProperties {

    // Getters and Setters
    /**
     * 是否启用增强模式（高性能指标收集和Redis存储）
     * 默认启用
     */
    private boolean enhancedMode = true;
    
    /**
     * 是否启用Redis存储
     * 默认启用
     */
    private boolean redisEnabled = true;
    
    /**
     * 是否启用数据库存储（传统模式）
     * 默认启用
     */
    private boolean databaseEnabled = true;
    
    /**
     * Redis中指标数据的过期时间（天）
     * 默认30天
     */
    private int redisExpirationDays = 30;
    
    /**
     * 定时持久化任务的执行间隔（毫秒）
     * 默认60秒
     */
    private long persistenceIntervalMs = 60000L;

}